package com.wyj.wuliwuli.utils;

import lombok.extern.slf4j.Slf4j;

import java.io.File;
import java.io.FileOutputStream;

/**
 * @Version 1.0
 * @Description
 */
@Slf4j
public class FileUtils {

    /**
     * 构建一个唯一的文件名
     * @param name 文件名
     * @return 文件唯一名称
     */
    public static String buildUniqueName(String name) {
        if (name == null) {
            name = "file";
        }
        return "_wuli_file_" + System.currentTimeMillis() + "_" + StringUtils.getRandomString(4) + "_" + name;
    }


    /**
     * 上传文件
     * @param file 文件
     * @param filePath 文件路径
     * @param fileName 文件名称
     * @throws Exception 异常
     */
    public static void upload(byte[] file, String filePath, String fileName) throws Exception {
        File targetFile = new File(filePath);
        if (!targetFile.exists()) {
            targetFile.mkdirs();
        }
        FileOutputStream out = new FileOutputStream(filePath + fileName);
        out.write(file);
        out.flush();
        out.close();
    }


    /**
     * 删除文件
     * @param path 文件路径
     * @return 是否成功删除
     */
    private static boolean delete(String path) {
        boolean del = false;
        File file = new File(path);
        if (file.isFile()) {
            file.delete();
            del = true;
            log.info("删除文件:{}:成功", path);
        } else {
            log.info("删除文件:{}:失败", path);
        }
        return del;
    }
}
